/********************************************************/
/*	Scene class by George Chew							*/
/*	For use in GeorgeLib								*/
/*	Created Mar 2013									*/
/*														*/
/*	Version 0001										*/
/********************************************************/

#ifndef __SCENE_H__
#define __SCENE_H__

#include "stdafx.h"

namespace GeorgeLib
{

	class DLLEXPORT Scene
	{

	public:
		Scene(void);			// Constructor
		~Scene(void);			// Destructor

		bool ResourceIsReady; // boolean to check if the Scene has loaded up all its resources

		// Function to load up all resources used by the Scene
		virtual		void	Load(void) = 0;

		// Function to free up all resources used by the Scene
		virtual		void	Drop(void) = 0;

		// Function to reset any variables used by the Scene
		virtual		void	Reset(void) = 0;

		// Update function
		virtual		void	Idle(float delta) = 0;

		// Render function
		virtual		void	Display(void) = 0;
	};

} // namespace GeorgeLib

#endif // __SCENE_H__ //
/*
Example inherited class

class myScene : public Scene
{
public:
myScene				(void);
~myScene			(void);
void Load			(void);
void Drop			(void);
void Reset			(void);
void Idle			(float delta);
void Display		(void);
};

myScene::myScene(void)
{
}

myScene::~myScene(void)
{
}

void myScene::Load(void)
{
}

void myScene::Drop(void)
{
}

void myScene::Reset(void)
{
}

void myScene::Idle(float delta)
{
}

void myScene::Display(void)
{
}

*/